#pragma once
#include "ASN1Encodable.h"

namespace AppliedCryptography
{
	class ASN1Encoded : public ASN1Encodable
	{
	private:
		std::vector<byte> _value;

	public:
		ASN1Encoded();

	public:
		virtual ASN1Encoded& set(std::vector<byte>& value);
		virtual ASN1Encoded& set(byte* value, unsigned int len);
		virtual unsigned int size() const;

	public:
		virtual std::vector<byte> encode() const;
		virtual std::vector<byte> getContentBits() const;
	};
}; // namespace AppliedCryptography
